<?php
/**
 * 
 * Este es la calase del modelo Clasificacion
 * @author Rosanna Paberli Jimenez Rosario
 *
 */
class ClasificacionModel extends Model
{
	
	protected $_nameTable = "EQS_Clasificaciones";

	public function __construct()
	{
		parent::Model();
	}
	
	/**
	 * 
	 * Esta es la funcion que carga los registros de la base de datos.
	 * @param boolean $char
	 * @param boolean $offset
	 * @param boolean $sortname
	 * @param boolean $sortorder
	 */
	public function loadRegistro($start = FALSE, $offset = FALSE, $sortname = FALSE, $sortorder = FALSE)
	{
		 $query = $this->db->get($this->_nameTable);
		 
		 return $this->_getArrayFromQueryResult($query);
		
	}
	
	/**
	 * 
	 * Esta es la funcion que te permite buscar un registro.
	 * @param array $where
	 */
	public function loadRegistroByWhere($where)
	{
		$query = $this->db->get_where($this->_nameTable, $where);
		return $this->_getArrayFromQueryResult($query);
	}
	
	/**
	 * 
	 * Esta es la funcion que te permite buscar un registro en especifico
	 * @param integer $id
	 */
    public function loadRegistroById($id)
    {
          $query = $this->db->get_where($this->_nameTable, array('id_clasificacion'  => $id));
          
          if ($query->num_rows() == 0)
           return false;
           
          return new Clasificacion($query->row()); 
    }
	
	/**
	 * 
	 * 
	 * @param objeto $resurt
	 */
	private function _getArrayFromQueryResult($resurt)
	{
		
		   if($resurt->num_rows() == 0){
		       return FALSE;
		    }
			
			$registro_array = array();
			
			foreach ($resurt->result() as $record){
				$registro_array[] = new Clasificacion($record);
			}
			return $registro_array;
		
	}
	
	/**
	 * 
	 * Esta funcion te permite agregar un registro a una base de datos
	 * @param array $data
	 */
	public function addRegistro($data)
	{
		if($this->db->insert($this->_nameTable, $data)){
			return TRUE;
		}
			return FALSE;
	}
	
	/**
	 * 
	 * Esta funcion te permite actualizar un registro en una base de datos
	 * @param array $data
	 * @param integer $id
	 */
	public function upDateRegistro($data, $id)
	{
		if($this->db->update($this->_nameTable, $data, array("id_clasificacion" => $id))){
			return TRUE;
		}
			return FALSE;
	}
	
	/**
	 * 
	 * Esta funcion te permite eliminar un registro de la base de datos..
	 * @param integer $id
	 */
	public function deleteRegistro($id)
	{
		if($this->db->delete($this->_nameTable,array("id_clasificacion" => $id))){
		}
	}	
}

class Clasificacion
{
	private $_idClasificacion = 0;
	private $_detalleClasificacion = "";
	
	public function __construct($dataObjeto)
	{
		$this->_idClasificacion = $dataObjeto->id_clasificacion;
		$this->_detalleClasificacion  = $dataObjeto->detalle;
	}
	public function getIdClasificacion()
	{
		return $this->_idClasificacion;
		
	}
	
	public function getDetalleClasificacion()
	{
		return $this->_detalleClasificacion;
	}
}


